嵌入式的 GDB 调试原理
- 芯片与调试器直接的接口协议为 JTAG 或 SWD,通过调试器将协议转换为 USB 接口协议。电脑端运行 GDB Server 或 Telnet Server 端,分别基于 TCP 或 Telnet 通信,使得任意工具链下的 GDB 可以与 GDB Server 通信,或者使用 Telnet 进行通信。
- OpenOCD 或 J-Link 均实现了 GDB Server 端的功能。
- 当用 Keil 进行调试时,此时使用的是 ARM 定制的 RDI 协议,此时并非使用了 GDB Server。